package com.isoftstone.role.repository;

import com.isoftstone.platform.entity.PagingBean;
import com.isoftstone.role.entity.RoleEntity;
import com.isoftstone.role.entity.RoleMenuInfo;
import com.isoftstone.role.entity.RoleMenuInfoTreeEntity;
import com.isoftstone.role.entity.SearchRoleEntity;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

//字符串代表实例的名字,进行匹配
@Repository("roleDao")
public interface RoleDao {
    
    List<RoleEntity> queryRoleByPageList(@Param("search") SearchRoleEntity search, @Param("paging") PagingBean pagingBean);
    
    Integer queryRoleTotal(@Param("search") SearchRoleEntity search);
    
    void addRole(@Param("role") RoleEntity roleEntity);

    void updateRoleDail(@Param("role") RoleEntity roleEntity);

    void deleteRoleInfo(@Param("roleuuid") String roleuuid);

    List<RoleEntity> queryroleInfo();

    List<RoleEntity> queryRoleListById(@Param("id") String id);

    List<RoleMenuInfoTreeEntity> queryRoleMenuInfoZtreeList();

    void grantRole(@Param("uuid") String uuid,@Param("mid") Integer mid );

    List<RoleMenuInfo> queryMenuIdByRoleuuid(@Param("roleuuid") String roleuuid);

    void cancelPermissions(@Param("roleuuid") String roleuuid);

    Integer queryRoleUserById(@Param("roleuuid") String roleuuid);

    Integer queryRoleDutyById(@Param("roleuuid") String roleuuid);

    
}
